Bug Fixes & Android 15+ Compliance #21
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🐛 Android 15+ Compliance & Permission Handling
1. Bug Fix: Android 15+ Foreground Service Crash 🚨
Bug: App crashed on Android 15+ when starting from boot (blocked Google Play publication)
Fix: Implemented WorkManager with 5-second delay to comply with foreground service restrictions
Files: Added BootServiceWorker.kt, updated BootCompletedReceiver.kt and MicLockService.kt
2. Bug Fix + New Feature: Permission Handling
Bug: App was stuck in a loop and unfunctional when no permission was given (both notifications or microphone)
Fix:
Files: MainActivity.kt
3. Modification due to changes: Quick Settings Tile Requires Notifications 🔔
Bug: Tile unusable without notification permission (should be optional)
Fix: Updated hasAllPerms() to only require microphone permission, tile now works without notifications
Files: MicLockTileService.kt
4. Bug Fix: MainActivity exits from recents after tile start
Bug: Reopening the app from recent apps caused an immediate exit after it was started via the Quick Settings tile
Fix: Updated startMicLockFromTileFallback to keep the activity open if the service is already running (not call
finish()).Implementation Details